﻿using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;

namespace SInvaders
{
    public class ResultadoJogo
    {
        Texture2D telavenceu, telaperdeu;
        Texture2D botao;
        Vector2[,] listaposicaobotao = new Vector2[2, 2];
        Vector2 posicaobotao;

        public ResultadoJogo()
        {
            listaposicaobotao[0, 0] = new Vector2(420, 330);
            listaposicaobotao[1, 1] = new Vector2(570, 390);
            posicaobotao = listaposicaobotao[1, 1];
        }

        public void LoadContent(ContentManager Content)
        {
            botao = Content.Load<Texture2D>("botaomenu");
            telaperdeu = Content.Load<Texture2D>("telaperdeu");
            telavenceu = Content.Load<Texture2D>("telavenceu");
        }

        public void Update(KeyboardState teclado_atual, KeyboardState teclado_anterior)
        {
            if (GerenciadorFases.fase3.venceu == true)
            {
                if (posicaobotao == listaposicaobotao[0, 0])
                {
                    if ((teclado_atual.IsKeyDown(Keys.Down) && !teclado_anterior.IsKeyDown(Keys.Down)) || (teclado_atual.IsKeyDown(Keys.Up) && !teclado_anterior.IsKeyDown(Keys.Up)))
                    {
                        posicaobotao = listaposicaobotao[1, 1];
                    }
                }

                else if (posicaobotao == listaposicaobotao[1, 1])
                {
                    if ((teclado_atual.IsKeyDown(Keys.Down) && !teclado_anterior.IsKeyDown(Keys.Down)) || (teclado_atual.IsKeyDown(Keys.Up) && !teclado_anterior.IsKeyDown(Keys.Up)))
                    {
                        posicaobotao = listaposicaobotao[0, 0];
                    }
                }
            }
            if (posicaobotao == listaposicaobotao[1, 1] && teclado_atual.IsKeyDown(Keys.Enter) && !teclado_anterior.IsKeyDown(Keys.Enter))
            {
                GerenciadorFases.EstadoAtual = GerenciadorFases.EstadosJogo.MENU;
                
            }
            else if (posicaobotao == listaposicaobotao[0, 0] && teclado_atual.IsKeyDown(Keys.Enter) && !teclado_anterior.IsKeyDown(Keys.Enter))
            {
                GerenciadorFases.EstadoAtual = GerenciadorFases.EstadosJogo.INPUT;
                Input.EnviaPontos(GerenciadorFases.pontos);
            }
        }

        public void Draw(SpriteBatch spriteBatch)
        {
            if (GerenciadorFases.fase3.venceu == true)
            {
                spriteBatch.Draw(telavenceu, new Vector2(0, 0), Color.White);
            }

            else if (GerenciadorFases.fase3.venceu == false)
            {
                spriteBatch.Draw(telaperdeu, new Vector2(0, 0), Color.White);
            }

            spriteBatch.Draw(botao, posicaobotao, Color.White);
        }

    }
}
